package py.com.alfa.escriba.gui.dto.gestion;

import java.util.Date;
import java.util.List;

import org.codehaus.jackson.annotate.JsonIgnoreProperties;

import py.com.alfa.escriba.gui.dto.admin.PaisDTO;
import py.com.alfa.escriba.gui.dto.admin.TabRefDTO;
import py.com.alfa.escriba.gui.utils.ObjectUtils;
@JsonIgnoreProperties(ignoreUnknown = true)
public class VehiculosDTO {

		private Long id;
		private String nrochasis;
		private String nroserie;
		private String chapa;
		private Long iduso;
		private Long idmoneda;
		private Long valor;
		private Long idpaisvehiculo;
		private String anexo;
		private Long idtemplatecertificado;
		private Boolean activo;
		private Long idescribano;
		private Long idusuario;
		private Date fechacreacion;
		private Long idusuariomodificacion;
		private Date fechamodificacion;
		private Long trn;
		private Long idestadovehiculo;
		private String certificadonro;
		
		private List<VehiculosinfoDTO> vehiculosInfo;
		private List<Long> eliminadosVehiculosInfo;
		
		/*belongs specifically to the application*/
		private TemplatesDTO template;
		private PaisDTO pais;
		private TabRefDTO uso;
		private TabRefDTO estado;
		private MonedasDTO moneda;

		public Long getId() {
			return id;
		}
		public void setId(Long id) {
			this.id = id;
		}
		public String getNrochasis() {
			return nrochasis;
		}
		public void setNrochasis(String nrochasis) {
			this.nrochasis = ObjectUtils.parseString(nrochasis);
		}
		public String getNroserie() {
			return nroserie;
		}
		public void setNroserie(String nroserie) {
			this.nroserie = ObjectUtils.parseString(nroserie);
		}
		public String getChapa() {
			return chapa;
		}
		public void setChapa(String chapa) {
			this.chapa = ObjectUtils.parseString(chapa);
		}
		public Long getIduso() {
			return iduso;
		}
		public void setIduso(Long iduso) {
			this.iduso = iduso;
		}
		public Long getIdmoneda() {
			return idmoneda;
		}
		public void setIdmoneda(Long idmoneda) {
			this.idmoneda = idmoneda;
		}
		public Long getValor() {
			return valor;
		}
		public void setValor(Long valor) {
			this.valor = valor;
		}
		public Long getIdpaisvehiculo() {
			return idpaisvehiculo;
		}
		public void setIdpaisvehiculo(Long idpaisvehiculo) {
			this.idpaisvehiculo = idpaisvehiculo;
		}
		public String getAnexo() {
			return anexo;
		}
		public void setAnexo(String anexo) {
			this.anexo = ObjectUtils.parseString(anexo);
		}
		public Long getIdtemplatecertificado() {
			return idtemplatecertificado;
		}
		public void setIdtemplatecertificado(Long idtemplatecertificado) {
			this.idtemplatecertificado = idtemplatecertificado;
		}
		public Boolean getActivo() {
			return activo;
		}
		public void setActivo(Boolean activo) {
			this.activo = activo;
		}
		public Long getIdescribano() {
			return idescribano;
		}
		public void setIdescribano(Long idescribano) {
			this.idescribano = idescribano;
		}
		public Long getIdusuario() {
			return idusuario;
		}
		public void setIdusuario(Long idusuario) {
			this.idusuario = idusuario;
		}
		public Date getFechacreacion() {
			return fechacreacion;
		}
		public void setFechacreacion(Date fechacreacion) {
			this.fechacreacion = fechacreacion;
		}
		public Long getIdusuariomodificacion() {
			return idusuariomodificacion;
		}
		public void setIdusuariomodificacion(Long idusuariomodificacion) {
			this.idusuariomodificacion = idusuariomodificacion;
		}
		public Date getFechamodificacion() {
			return fechamodificacion;
		}
		public void setFechamodificacion(Date fechamodificacion) {
			this.fechamodificacion = fechamodificacion;
		}
		public Long getTrn() {
			return trn;
		}
		public void setTrn(Long trn) {
			this.trn = trn;
		}
		public Long getIdestadovehiculo() {
			return idestadovehiculo;
		}
		public void setIdestadovehiculo(Long idestadovehiculo) {
			this.idestadovehiculo = idestadovehiculo;
		}
		public List<VehiculosinfoDTO> getVehiculosInfo() {
			return vehiculosInfo;
		}
		public void setVehiculosInfo(List<VehiculosinfoDTO> vehiculosInfo) {
			this.vehiculosInfo = vehiculosInfo;
		}
		public List<Long> getEliminadosVehiculosInfo() {
			return eliminadosVehiculosInfo;
		}
		public void setEliminadosVehiculosInfo(List<Long> eliminadosVehiculosInfo) {
			this.eliminadosVehiculosInfo = eliminadosVehiculosInfo;
		}
		public String getCertificadonro() {
			return certificadonro;
		}
		public void setCertificadonro(String certificadonro) {
			this.certificadonro = certificadonro;
		}
		public TemplatesDTO getTemplate() {
			return template;
		}
		public void setTemplate(TemplatesDTO template) {
			this.setIdtemplatecertificado(template != null?template.getId():null);
			this.template = template;
		}
		public PaisDTO getPais() {
			return pais;
		}
		public void setPais(PaisDTO pais) {
			this.setIdpaisvehiculo(pais != null?pais.getId():null);
			this.pais = pais;
		}
		public TabRefDTO getUso() {
			return uso;
		}
		public void setUso(TabRefDTO uso) {
			this.setIduso(uso != null?uso.getId():null);
			this.uso = uso;
		}
		public TabRefDTO getEstado() {
			return estado;
		}
		public void setEstado(TabRefDTO estado) {
			this.setIdestadovehiculo(estado != null?estado.getId():null);
			this.estado = estado;
		}
		public MonedasDTO getMoneda() {
			return moneda;
		}
		public void setMoneda(MonedasDTO moneda) {
			this.setIdmoneda(moneda != null?moneda.getId():null);
			this.moneda = moneda;
		}
		@Override
		public String toString() {
			StringBuilder builder = new StringBuilder();
			builder.append("VehiculosDTO [id=").append(id)
					.append(", nrochasis=").append(nrochasis)
					.append(", nroserie=").append(nroserie).append(", chapa=")
					.append(chapa).append(", iduso=").append(iduso)
					.append(", idmoneda=").append(idmoneda).append(", valor=")
					.append(valor).append(", idpaisvehiculo=")
					.append(idpaisvehiculo).append(", anexo=").append(anexo)
					.append(", idtemplatecertificado=")
					.append(idtemplatecertificado).append(", activo=")
					.append(activo).append(", idescribano=")
					.append(idescribano).append(", idusuario=")
					.append(idusuario).append(", fechacreacion=")
					.append(fechacreacion).append(", idusuariomodificacion=")
					.append(idusuariomodificacion)
					.append(", fechamodificacion=").append(fechamodificacion)
					.append(", trn=").append(trn).append(", idestadovehiculo=")
					.append(idestadovehiculo).append(", certificadonro=")
					.append(certificadonro).append(", vehiculosInfo=")
					.append(vehiculosInfo).append(", eliminadosVehiculosInfo=")
					.append(eliminadosVehiculosInfo).append(", template=")
					.append(template).append(", pais=").append(pais)
					.append(", uso=").append(uso).append(", estado=")
					.append(estado).append(", moneda=").append(moneda)
					.append("]");
			return builder.toString();
		}

}
